Enterprise modeling typically involves the building of a graphical diagram that describes and defines structures, processes, information, and/or resources of an organization. Such diagrams, also known as models, are graphical representations that generally are composed from a set of predefined symbols and connection types. Process models and data models are some of the most prominent types of enterprise models, although organizational charts, entity relationship diagrams, value added chain diagrams, function trees, value stream maps, and the like also are well-known and widely-used enterprise model types.
There are some commercially available software tools that support enterprise modeling. Some of these tools focus on business process modeling, while others have specialized on data modeling, IT planning, and/or the like. Currently, the most prevalent group of commercially available software tools may be classified as being Business Process Analysis (BPA)/Enterprise Architecture (EA) software tools. These tools typically offer a broad spectrum of functionalities, not only for modeling, but also for analyzing and publishing enterprise models. ARIS, MEGA, and Adonis are examples of BPA/EA tools.
Modeling activity usually starts with a group of people discussing the content and structure of the enterprise model. Despite some attempts to support such discussions with software, most of these discussion occur in face-to-face meetings and workshops. The results of these face-to-face meetings and workshops typically are documented during the meeting via whiteboards, flipcharts, and/or the like. This manual process allows models to be developed quickly and interactively, without requiring users to struggle with technology.
At some point (e.g., once the group is satisfied with the result), the content created on the whiteboard or flipchart needs to be transferred into a modeling tool. This transference unfortunately is a tedious task that typically is performed in a fully manual fashion. There accordingly is a substantial “media break” as between the creation of content on the whiteboard or flipchart, and the creation of a corresponding model via a software tool. This media break unfortunately carries costs in that the manual transference process is error-prone, typically requires redundant review exercises, sometimes produces low-quality results (e.g., if there is a lack of understanding in what was created in the real world, how what was created in the real world relates to the computer modeling tool's capabilities, etc.). Thus, there unfortunately is a resource drain associated with this burdensome manual process.
Mobile computing in general allows computer technology to be brought into meeting situations, and modeling software to be used during discussions to capture results directly digitally. With a mobile computing approach, a model can be created in the software in a direct, digital manner, and can be refined and distributed therefrom after the meeting. Mobile computing therefore removes the media break discussed above. Unfortunately, It typically is difficult for groups to focus on the discussion and the results while dealing with modeling program software and associated hardware (e.g., laptop, projector, power line, etc.). Mobile computing solutions also typically allow only one person to provide input at a time (e.g., through a keyboard and/or mouse, etc.). Thus, the ability to accommodate multiple idea contributions in parallel may not be feasible or even possible in many cases. There also is a risk of becoming lost in technical details, as opposed to focusing on the actual subject. Directly using modeling software with a mobile computing may also require technical people familiar with the “ins-and-outs” of software to be present and engaged.
Digital cameras allow for whiteboard results to be captured as a digital picture that can be taken to a desktop computer, loaded onto the computer, and put alongside the modeling software for manual transfer. This approach promotes easy digitization of the whiteboard content, e.g., as a digital picture is a copy of the whiteboard content that can be taken to one's computer workplace with little logistical overhead. Unfortunately, however, the digital picture remains a picture, and a digital model still needs to be created in the modeling software, from scratch, with the picture being only a visual input for the human creator.
Optical Character Recognition (OCR) is a technology that analyzes a digital picture for textual information and retrieves text from it. Digital pictures of a whiteboard model can be analyzed for text components that can be automatically retrieved via OCR. Classical OCR technology unfortunately has difficulty recognizing handwriting and does not recognize symbols and structures of a model. As a result, the resulting text output can miss important structure and connection detail.
Interactive whiteboards provide specific physical boards that recognize manual handwriting and generate digital pictures from it. They may also allow for interactions with software programs projected to the board. Ideally, a group can draw a model on the interactive whiteboard as would be done with a normal whiteboard, with the advantage of having the final model sketch stored as a digital picture. Unfortunately, however, interactive whiteboards come with high hardware costs, and an interactive whiteboard is yet another device to maintain and master in the meeting room. Interactive whiteboards effectively remove the ability to use sticky notes or static shapes, per se. They also have the same or similar disadvantages as digital cameras.
The Symbio Workshop Scanner by Ploetz+Zeller GmbH is a piece of desktop software that takes a digital picture of a process model as an input, analyzes symbols and text, and creates an adequate process model in the Symbio modeling software. Process models created by static shapes on a whiteboard can be digitized automatically. Unfortunately, however, semantics of the modeling objects are determined solely by static shapes to be retrieved from the vendor. The technology is limited to the process flows that are sequences of activities, and there are no complementary model object types (e.g., roles, input, output, IT systems, etc.) possible. Text recognition tends to work well, but there is no machine learning included. On the whole, a classical top-to-bottom flow is very rigid and difficult to handle on classical whiteboards. Configuration possibilities are extremely limited.
The 3M Post-It Plus App allows users to take pictures of arrangements of sticky notes, with smartphones or the like. Those notes are recognized and provided as single images (without text recognition) to the user. The user may then re-arrange them digitally in the app and add additional digital notes. Thus, sticky notes from a whiteboard advantageously can be digitized automatically and are ready for digital post-processing in dedicated software. Unfortunately, however, there is no recognition of different semantics of notes as desirable in an enterprise modeling software tool. There also is no text recognition functionality when it comes to the notes themselves, and they remain digital but “dumb” images. It thus will be appreciated that the way the sticky notes are arranged on the whiteboard is not translated into any semantic, as there are no predefined, configurable rules.
Certain example embodiments address the above and/or other concerns. For instance, certain example embodiments relate to techniques that help address the media break between whiteboards, flipcharts, and the like, and modeling software and computerized modeling systems. Certain example embodiments provide a solution that helps to solve the problems associated with this technical gap, reduce the manual burden involved in recognizing and transforming a manually-sketched model on a whiteboard platform to a digitized model that fits within an enterprise modeling computer system.
One aspect of certain example embodiments relates to bridging the media discontinuity when models (e.g., business models) are designed on a whiteboard or other physical medium and later need to be stored electronically on a computer in a computerized and standardized modeling language format. Certain example embodiments use a camera and a specialized software application to identify certain graphical elements and text, and then transform the picture into the computerized model. A different modeling “language” may be used on the whiteboard, as compared to what is available on or via the computer. This transformation takes into account that an identical process can be described, advantageously, using a different grammar on a whiteboard than is applicable on a computer. For example, the complex connections between processing steps and also between roles of responsible people, as well as the input and output definitions, might be too complex to draw in the same way on the board as is shown on a computer screen.
Another aspect of certain example embodiments relates to a model type introduced for a whiteboard, which offers certain advantages over the standard computer modeling, while allowing for a clearer processing by the photo-imaging software, e.g., to help uniquely identify each token as being grammatically and semantically correct.
Another aspect of certain example embodiments relates to a multi-stepped or multi-phase transformation where the objects, object types, connection, identified text, etc., can be manually corrected. This multi-pass approach advantageously aids in providing for smoother conversions from one model to the other.
Still another aspect of certain example embodiments relates to an approach for using different modeling languages and a transformation process between two different media (e.g., whiteboard and computer), in order to compensate for the media break between the two.
Advantageously, the suggested language and the transformation may be flexible and adjustable for different requirements of the whiteboard modeling, as well as for the computer model engine. For example, using a multi-step transformation advantageously allows for a transparent way of adjusting the (sometimes very coarse) output from automatic scanning and interpretation hardware and/or software, e.g., for symbol and text recognition.
In certain example embodiments, a system for creating and/or updating a computerized model usable in connection with an enterprise modeling platform is provided. The computerized model is defined in connection with a first modeling language. The system comprises a display device; and processing resources including at least one processor and a memory operably coupled thereto. The processing resources are configured to control the system to at least: receive an image of a hand-drawn model, the hand-drawn model existing on a physical substrate and following rules associated with a second modeling language, the first and second modeling languages being different from one another; perform image processing on the image of the hand-drawn model, the image processing including a plurality of different identification levels, the different identification levels respectively corresponding to recognitions of (a) structures in the image that correspond to objects in the hand-drawn model, (b) object types for the identified structures that correspond to the objects, (c) text associated with the identified structures that correspond to the objects, and (d) connections between at least some of the identified structures that correspond to the objects; and generate a digitized iteratively-reviewed version of the hand-drawn model; and transform the digitized iteratively-reviewed version of the hand-drawn model into the computerized model in accordance with a set of rules defining relationships between elements in the first and second modeling languages. The generation is accomplished by presenting, on the display device and on an identification level by identification level basis, results of the recognitions corresponding to the respective identification levels; and accepting user modification(s) to the results on the identification level by identification level basis.
In certain example embodiments, a system for creating and/or updating a computerized model usable in connection with an enterprise modeling platform is provided. The computerized model is defined in connection with a first modeling language. The system comprises a display device; and processing resources including at least one processor and a memory operably coupled thereto. The processing resources are configured to control the system to at least: receive an image of a hand-drawn model, the hand-drawn model existing on a physical substrate and following rules associated with a second modeling language, the first and second modeling languages being different from one another; perform image processing on the image of the hand-drawn model, the image processing including a plurality of different identification levels, the different identification levels respectively corresponding to recognitions of (a) structures in the image that correspond to objects in the hand-drawn model, (b) object types for the identified structures that correspond to the objects, (c) text associated with the identified structures that correspond to the objects, and (d) connections between at least some of the identified structures that correspond to the objects; and generate a digitized iteratively-reviewed version of the hand-drawn model; and transform the digitized iteratively-reviewed version of the hand-drawn model into the computerized model in accordance with a set of rules defining relationships between elements in the first and second modeling languages. The generation is accomplished by presenting, on the display device and on an identification level by identification level basis, results of the recognitions corresponding to the respective identification levels; and accepting user modification(s) to the results on the identification level by identification level basis.
According to certain example embodiments, the first modeling language may be user-adaptable. It additionally or alternatively may be defined so as to specify semantics of model objects based on coloring and shape; semantics of a model as a function of shapes, colors, positioning, and interconnectedness of its model objects; and implicit information about model objects based on grid location. For example, model objects located in a first column of a grid logically imposed on the physical substrate may be defined as role type model objects, provided that such model objects are in a lane with one or more model objects corresponding to process steps, with roles and process step type model objects being defined to be represented by, e.g., different colors; model objects located in lanes with additional semantic objects may be defined to specify features of model objects corresponding to process steps that are located in the same column, e.g., with model objects located in lanes with additional semantic objects representing input, output, system, and/or timing related semantics; etc.
According to certain example embodiments, the transformation may generate a structured file type understandable by, and communicated to, the enterprise modeling platform.
According to certain example embodiments, the processing resources may be configured to control the system to at least transmit to a repository of the enterprise modeling platform data representative of the transformed digitized iteratively-reviewed version of the hand-drawn model.
According to certain example embodiments, the processing resources may be configured to control the system to at least generate and display in separate layers representations of the recognized objects and the image of the hand-drawn model.
According to certain example embodiments, a camera configured to take a picture corresponding to the image of the hand-drawn model may be provided.
According to certain example embodiments, the processing resources may be incorporated into a mobile electronic device.
According to certain example embodiments, the processing resources may be configured to control the system to at least provide output related to the generation of the digitized iteratively-reviewed version of the hand-drawn model to a machine learning module to improve accuracy of the recognitions.
Corresponding methods and non-transitory computer readable storage mediums tangibly storing instructions for performing such methods also are provided by certain example embodiments, as are corresponding computer programs.
These features, aspects, advantages, and example embodiments may be used separately and/or applied in various combinations to achieve yet further embodiments of this invention.